package com.ruoyi.system.service.impl;

import java.util.List;
import com.ruoyi.common.utils.DateUtils;
import com.ruoyi.system.mapper.SysDeptMapper;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import com.ruoyi.system.mapper.TrPsonMapper;
import com.ruoyi.system.domain.TrPson;
import com.ruoyi.system.service.ITrPsonService;

/**
 * 人脉管理Service业务层处理
 * 
 * @author ruoyi
 * @date 2024-05-26
 */
@Service
public class TrPsonServiceImpl implements ITrPsonService 
{
    @Autowired
    private TrPsonMapper trPsonMapper;


    @Autowired
    private SysDeptMapper deptMapper;

    /**
     * 查询人脉管理
     * 
     * @param psonId 人脉管理主键
     * @return 人脉管理
     */
    @Override
    public TrPson selectTrPsonByPsonId(Long psonId)
    {
        return trPsonMapper.selectTrPsonByPsonId(psonId);
    }

    /**
     * 查询人脉管理列表
     * 
     * @param trPson 人脉管理
     * @return 人脉管理
     */
    @Override
    public List<TrPson> selectTrPsonList(TrPson trPson)
    {
        List<TrPson> trPsons = trPsonMapper.selectTrPsonList(trPson);

        for (TrPson pson : trPsons) {

            String deptName = deptMapper.selectDeptById(pson.getDeptId()).getDeptName();
//            String gxDeptName = deptMapper.selectDeptById(pson.getGxDeptId()).getDeptName();
//            pson.setGxName(deptName+":"+gxDeptName);

            StringBuilder gname = new StringBuilder(deptName);

            String[] gxDeptId = pson.getGxDeptId().split(",");
            for (String gxId : gxDeptId) {
                String gxDeptName = deptMapper.selectDeptById(Long.valueOf(gxId)).getDeptName();
                gname.append(":").append(gxDeptName);
            }

            pson.setGxName(gname.toString());
        }

        return trPsons;
    }

    /**
     * 新增人脉管理
     * 
     * @param trPson 人脉管理
     * @return 结果
     */
    @Override
    public int insertTrPson(TrPson trPson)
    {
        trPson.setCreateTime(DateUtils.getNowDate());
        return trPsonMapper.insertTrPson(trPson);
    }

    /**
     * 修改人脉管理
     * 
     * @param trPson 人脉管理
     * @return 结果
     */
    @Override
    public int updateTrPson(TrPson trPson)
    {
        trPson.setUpdateTime(DateUtils.getNowDate());
        return trPsonMapper.updateTrPson(trPson);
    }

    /**
     * 批量删除人脉管理
     * 
     * @param psonIds 需要删除的人脉管理主键
     * @return 结果
     */
    @Override
    public int deleteTrPsonByPsonIds(Long[] psonIds)
    {
        return trPsonMapper.deleteTrPsonByPsonIds(psonIds);
    }

    /**
     * 删除人脉管理信息
     * 
     * @param psonId 人脉管理主键
     * @return 结果
     */
    @Override
    public int deleteTrPsonByPsonId(Long psonId)
    {
        return trPsonMapper.deleteTrPsonByPsonId(psonId);
    }
}
